(window.webpackJsonp = window.webpackJsonp || []).push([["chunk-42ab"], {
    DVUn: function (t, e, a) {
        "use strict";
        var n = a("t3Un");
        e.a = {
            getPvData: function (t) {
                return console.log(t), (!t || t < 1) && (t = 7), Object(n.a)({url: "/pvCount?days=" + t, method: "get"})
            }, getUvData: function (t) {
                return (!t || t < 1) && (t = 7), Object(n.a)({url: "/uvCount?days=" + t, method: "get"})
            }, getNewVisitStats: function (t) {
                return (!t || t < 1) && (t = 7), Object(n.a)({url: "/newVisitStats?days=" + t, method: "get"})
            }, getVisitTotalData: function (t) {
                return (!t || t < 1) && (t = 7), Object(n.a)({url: "/visitTotal?days=" + t, method: "get"})
            }, getChannelPvData: function (t) {
                return (!t || t < 1) && (t = 7), Object(n.a)({url: "/channel?days=" + t + "&t=pv", method: "get"})
            }, getChannelBounceData: function (t) {
                return (!t || t < 1) && (t = 7), Object(n.a)({url: "/channel?days=" + t + "&t=br", method: "get"})
            }, getPagePathData: function (t) {
                return (!t || t < 1) && (t = 7), Object(n.a)({url: "/pagePath?days=" + t, method: "get"})
            }, getUserActionConvertData: function (t) {
                return (!t || t < 1) && (t = 7), Object(n.a)({url: "/userActionConvert?days=" + t, method: "get"})
            }, getUserPaidData: function (t) {
                return (!t || t < 1) && (t = 7), Object(n.a)({url: "/userPaid?days=" + t, method: "get"})
            }, getSpuTopNData: function (t, e) {
                return (!t || t < 1) && (t = 7), (!e || e < 1) && (e = 7), Object(n.a)({
                    url: "/spu?days=" + t + "&num=" + e,
                    method: "get"
                })
            }, getTmTopNData: function (t, e) {
                return (!t || t < 1) && (t = 7), Object(n.a)({url: "/tm?days=" + t + "&num=" + e, method: "get"})
            }, getOrderCategoryData: function (t, e) {
                return (!t || t < 1) && (t = 7), Object(n.a)({url: "/category?days=" + t + "&num=" + e, method: "get"})
            }, getOrderAreaData: function (t) {
                return (!t || t < 1) && (t = 7), Object(n.a)({url: "/area?days=" + t + " ", method: "get"})
            }, getOrderTotalData: function (t) {
                return (!t || t < 1) && (t = 7), Object(n.a)({url: "/orderTotal?days=" + t, method: "get"})
            }, getUserTotalData: function (t) {
                return (!t || t < 1) && (t = 7), Object(n.a)({url: "/userTotal?days=" + t, method: "get"})
            }, getDauRealtimeData: function (t) {
                return Object(n.a)({url: "/dauRealtime?td=" + t, method: "get"})
            }, getGenderStatsByItem: function (t, e) {
                return Object(n.a)({url: "/statsByItem?t=gender&date=" + t + "&itemName=" + e, method: "get"})
            }, getAgeStatsByItem: function (t, e) {
                return Object(n.a)({url: "/statsByItem?t=age&date=" + t + "&itemName=" + e, method: "get"})
            }, getDetailStatsByItem: function (t, e, a, r) {
                return Object(n.a)({
                    url: "/detailByItem?date=" + t + "&itemName=" + e + "&pageNo=" + a + "&pageSize=" + r,
                    method: "get"
                })
            }
        }
    }, GSiV: function (t, e, a) {
        "use strict";
        var n = {
            data: function () {
                return {dateRange: "近7日", recentDays: 7}
            }, mounted: function () {
                this.setParent()
            }, methods: {
                setParent: function () {
                    this.$parent.recentDays = this.recentDays, this.$parent.dateRange = this.dateRange
                }, radioChange: function () {
                    "近30日" == this.dateRange ? this.recentDays = 30 : "近7日" == this.dateRange ? this.recentDays = 7 : "昨日" == this.dateRange && (this.recentDays = 1), this.setParent(), this.$parent.refresh()
                }
            }
        }, r = a("KHd+"), s = Object(r.a)(n, function () {
            var t = this, e = t.$createElement, a = t._self._c || e;
            return a("div", [a("el-row", {
                staticClass: "el-row",
                attrs: {gutter: 1}
            }, [a("el-col", {
                staticClass: "el-card",
                attrs: {span: 24}
            }, [a("div", {staticClass: "grid-content bg-purple"}, [a("el-radio-group", {
                on: {
                    change: function (e) {
                        t.radioChange()
                    }
                }, model: {
                    value: t.dateRange, callback: function (e) {
                        t.dateRange = e
                    }, expression: "dateRange"
                }
            }, [a("el-radio-button", {attrs: {label: "昨日"}}), t._v(" "), a("el-radio-button", {attrs: {label: "近7日"}}), t._v(" "), a("el-radio-button", {attrs: {label: "近30日"}})], 1)], 1)])], 1)], 1)
        }, [], !1, null, null, null);
        s.options.__file = "dateRange.vue";
        e.a = s.exports
    }, Qfuk: function (t, e, a) {
        "use strict";
        a.r(e);
        var n = a("GSiV"), r = a("DVUn"), s = {
            data: function () {
                return {
                    recentDays: this.$parent.recentDays,
                    dateRange: this.$parent.dateRange,
                    pvCount: 0,
                    uvCount: 0,
                    newCount: 0
                }
            }, mounted: function () {
                this.init()
            }, methods: {
                getParent: function () {
                    this.recentDays = this.$parent.recentDays, this.dateRange = this.$parent.dateRange
                }, init: function () {
                    var t = this;
                    this.getParent(), r.a.getVisitTotalData(this.recentDays).then(function (e) {
                        e.pvCount && (t.pvCount = e.pvCount, t.uvCount = e.uvCount, t.newCount = e.newCount)
                    }).catch(function (t) {
                        console.log("失败" + t)
                    })
                }
            }
        }, i = a("KHd+"), o = Object(i.a)(s, function () {
            var t = this, e = t.$createElement, a = t._self._c || e;
            return a("div", [a("el-row", {
                staticClass: "el-row",
                attrs: {gutter: 1}
            }, [a("el-col", {
                staticClass: "el-card",
                attrs: {span: 8}
            }, [a("div", {staticClass: "grid-content bg-purple"}, [a("div", {
                staticStyle: {
                    "font-size": "18px",
                    color: "grey"
                }
            }, [t._v(t._s(t.dateRange) + "PV总数  ")]), t._v(" "), a("br"), t._v(" "), a("div", {
                staticStyle: {
                    "font-size": "40px",
                    "text-align": "center"
                }
            }, [t._v(" " + t._s(t.pvCount)), a("span", {staticStyle: {"font-size": "20px"}}, [t._v("次")])])])]), t._v(" "), a("el-col", {
                staticClass: "el-card",
                attrs: {span: 8}
            }, [a("div", {staticClass: "grid-content bg-purple"}, [a("div", {
                staticStyle: {
                    "font-size": "18px",
                    color: "grey"
                }
            }, [t._v(t._s(t.dateRange) + " UV总数  ")]), t._v(" "), a("br"), t._v(" "), a("div", {
                staticStyle: {
                    "font-size": "40px",
                    "text-align": "center"
                }
            }, [t._v("  " + t._s(t.uvCount)), a("span", {staticStyle: {"font-size": "20px"}}, [t._v("人")])])])]), t._v(" "), a("el-col", {
                staticClass: "el-card",
                attrs: {span: 8}
            }, [a("div", {staticClass: "grid-content bg-purple"}, [a("div", {
                staticStyle: {
                    "font-size": "18px",
                    color: "grey"
                }
            }, [t._v(t._s(t.dateRange) + "新增用户数 ")]), t._v(" "), a("br"), t._v(" "), a("div", {
                staticStyle: {
                    "font-size": "40px",
                    "text-align": "center"
                }
            }, [t._v(t._s(t.newCount)), a("span", {staticStyle: {"font-size": "20px"}}, [t._v("人")])])])])], 1)], 1)
        }, [], !1, null, null, null);
        o.options.__file = "visitTotal.vue";
        var l = o.exports, c = a("MT78"), u = a.n(c), d = {
            created: function () {
                console.log("list created......")
            }, mounted: function () {
                this.init()
            }, data: function () {
                return {
                    recentDays: this.$parent.$parent.$parent.recentDays,
                    dateRange: this.$parent.$parent.$parent.dateRange,
                    xData: [],
                    yData: []
                }
            }, methods: {
                getParent: function () {
                    this.recentDays = this.$parent.$parent.$parent.recentDays, this.dateRange = this.$parent.$parent.$parent.dateRange
                }, init: function () {
                    var t = this;
                    this.getParent(), r.a.getPvData(this.recentDays).then(function (e) {
                        t.xData = e.xData, t.yData = e.yData, t.setChartData()
                    }).catch(function (t) {
                        console.log("失败" + t)
                    })
                }, setChartData: function () {
                    var t = {
                        title: {text: "PV", subtext: this.dateRange},
                        xAxis: {type: "category", data: this.xData},
                        yAxis: {type: "value"},
                        series: [{data: this.yData, type: "line"}]
                    };
                    u.a.init(document.getElementById("chart2")).setOption(t)
                }
            }
        }, h = Object(i.a)(d, function () {
            this.$createElement;
            this._self._c;
            return this._m(0)
        }, [function () {
            var t = this.$createElement, e = this._self._c || t;
            return e("div", [e("div", {staticStyle: {width: "100%", height: "280px"}, attrs: {id: "chart2"}})])
        }], !1, null, null, null);
        h.options.__file = "pv.vue";
        var p = h.exports, g = {
            created: function () {
                console.log("list created......")
            }, mounted: function () {
                this.init()
            }, data: function () {
                return {
                    recentDays: this.$parent.$parent.$parent.recentDays,
                    dateRange: this.$parent.$parent.$parent.dateRange,
                    xData: [],
                    yData: []
                }
            }, methods: {
                getParent: function () {
                    this.recentDays = this.$parent.$parent.$parent.recentDays, this.dateRange = this.$parent.$parent.$parent.dateRange
                }, init: function () {
                    var t = this;
                    this.getParent(), r.a.getUvData(this.recentDays).then(function (e) {
                        console.log("response:" + e), t.xData = e.xData, t.yData = e.yData, console.log("xdata:" + t.xData), console.log("yData:" + t.yData), t.setChartData()
                    }).catch(function (t) {
                        console.log("失败" + t)
                    })
                }, setChartData: function () {
                    var t = {
                        title: {text: "UV", subtext: this.dateRange},
                        xAxis: {type: "category", data: this.xData},
                        yAxis: {type: "value"},
                        series: [{data: this.yData, type: "line"}]
                    };
                    u.a.init(document.getElementById("chart1")).setOption(t)
                }
            }
        }, v = Object(i.a)(g, function () {
            this.$createElement;
            this._self._c;
            return this._m(0)
        }, [function () {
            var t = this.$createElement, e = this._self._c || t;
            return e("div", [e("div", {staticStyle: {width: "100%", height: "280px"}, attrs: {id: "chart1"}})])
        }], !1, null, null, null);
        v.options.__file = "uv.vue";
        var f = v.exports, y = {
            data: function () {
                return {
                    recentDays: this.$parent.$parent.$parent.recentDays,
                    dateRange: this.$parent.$parent.$parent.dateRange,
                    tableData: [{field: "浏览量", old: 310, new: 32}, {field: "访客数", old: 33, new: 32}, {
                        field: "跳出率（%）",
                        old: 20.7,
                        new: 30.1
                    }, {field: "平均访问时长", old: 341, new: 433}, {field: "平均访问页面数", old: 123, new: 433}]
                }
            }, mounted: function () {
                this.init()
            }, methods: {
                getParent: function () {
                    this.recentDays = this.$parent.$parent.$parent.recentDays, this.dateRange = this.$parent.$parent.$parent.dateRange
                }, init: function () {
                    var t = this;
                    this.getParent(), r.a.getNewVisitStats(this.recentDays).then(function (e) {
                        console.log("nv:res" + e), t.tableData = e
                    }).catch(function (t) {
                        console.log("失败" + t)
                    })
                }
            }
        }, D = Object(i.a)(y, function () {
            var t = this.$createElement, e = this._self._c || t;
            return e("div", [e("el-table", {
                staticStyle: {width: "80%", "font-size": "20px"},
                attrs: {
                    border: "",
                    data: this.tableData,
                    "header-cell-style": {background: "#eef1f6", color: "#606266"}
                }
            }, [e("el-table-column", {
                attrs: {
                    prop: "field",
                    label: this.dateRange,
                    width: "300"
                }
            }), this._v(" "), e("el-table-column", {
                attrs: {
                    prop: "old",
                    label: "老访客",
                    width: "230"
                }
            }), this._v(" "), e("el-table-column", {attrs: {prop: "new", label: "新访客"}})], 1)], 1)
        }, [], !1, null, null, null);
        D.options.__file = "nv.vue";
        var m = D.exports, $ = {
            created: function () {
                console.log("list created......")
            }, mounted: function () {
                this.init()
            }, data: function () {
                return {
                    recentDays: this.$parent.$parent.$parent.$parent.recentDays,
                    dateRange: this.$parent.$parent.$parent.$parent.dateRange,
                    xData: ["渠道1", "渠道2", "渠道3", "渠道4", "渠道5"],
                    yData: [{value: 40, name: "rose 1"}, {value: 33, name: "rose 2"}, {
                        value: 28,
                        name: "rose 3"
                    }, {value: 22, name: "rose 4"}, {value: 20, name: "rose 5"}]
                }
            }, methods: {
                getParent: function () {
                    this.recentDays = this.$parent.$parent.$parent.$parent.recentDays, this.dateRange = this.$parent.$parent.$parent.$parent.dateRange
                }, init: function () {
                    var t = this;
                    this.getParent(), r.a.getChannelPvData(this.recentDays).then(function (e) {
                        console.log(e.xData), console.log(e.yData), t.xData = e.xData, t.yData = e.yData, t.setChartData()
                    }).catch(function (t) {
                        console.log("失败" + t)
                    })
                }, setChartData: function () {
                    var t = {
                        title: {text: "渠道访问量", subtext: this.dateRange, left: "center"},
                        tooltip: {trigger: "item", formatter: "{a} <br/>{b} : {c} ({d}%)"},
                        legend: {left: "center", top: "bottom", data: this.xData},
                        toolbox: {
                            show: !0,
                            feature: {
                                mark: {show: !0},
                                dataView: {show: !0, readOnly: !1},
                                restore: {show: !0},
                                saveAsImage: {show: !0}
                            }
                        },
                        series: [{
                            name: "渠道访问量",
                            type: "pie",
                            radius: [20, 140],
                            center: ["25%", "50%"],
                            roseType: "radius",
                            itemStyle: {borderRadius: 5},
                            emphasis: {label: {show: !1}},
                            data: this.yData
                        }]
                    };
                    u.a.init(document.getElementById("chart4")).setOption(t)
                }
            }
        }, b = Object(i.a)($, function () {
            var t = this.$createElement;
            return (this._self._c || t)("div", {staticStyle: {width: "100%", height: "340px"}, attrs: {id: "chart4"}})
        }, [], !1, null, null, null);
        b.options.__file = "channelPv.vue";
        var _ = b.exports, x = {
            created: function () {
                console.log("list created......")
            }, mounted: function () {
                this.init()
            }, data: function () {
                return {
                    recentDays: this.$parent.$parent.$parent.$parent.recentDays,
                    dateRange: this.$parent.$parent.$parent.$parent.dateRange,
                    xData: ["渠道1", "渠道2", "渠道3"],
                    yData: [35, 12, 53.1]
                }
            }, methods: {
                getParent: function () {
                    this.recentDays = this.$parent.$parent.$parent.$parent.recentDays, this.dateRange = this.$parent.$parent.$parent.$parent.dateRange
                }, init: function () {
                    var t = this;
                    this.getParent(), r.a.getChannelBounceData(this.recentDays).then(function (e) {
                        t.xData = e.xData, t.yData = e.yData, t.setChartData()
                    }).catch(function (t) {
                        console.log("失败" + t)
                    })
                }, setChartData: function () {
                    var t = {
                        title: {text: "各个渠道跳出率（%）", subtext: this.dateRange},
                        xAxis: {type: "category", data: this.xData},
                        yAxis: {type: "value"},
                        series: [{data: this.yData, type: "bar"}]
                    };
                    u.a.init(document.getElementById("chart4")).setOption(t)
                }
            }
        }, C = Object(i.a)(x, function () {
            var t = this.$createElement;
            return (this._self._c || t)("div", {staticStyle: {width: "100%", height: "340px"}, attrs: {id: "chart4"}})
        }, [], !1, null, null, null);
        C.options.__file = "channelBounce.vue";
        var R = C.exports, w = {
            created: function () {
                console.log("list created......")
            }, mounted: function () {
                this.init()
            }, data: function () {
                return {
                    recentDays: this.$parent.$parent.$parent.recentDays,
                    dateRange: this.$parent.$parent.$parent.dateRange,
                    nodeData: [{name: "a"}, {name: "b"}, {name: "a1"}, {name: "a2"}, {name: "b1"}, {name: "c"}],
                    linksData: [{source: "a", target: "a1", value: 5}, {
                        source: "a",
                        target: "a2",
                        value: 3
                    }, {source: "b", target: "b1", value: 8}, {source: "a", target: "b1", value: 3}, {
                        source: "b1",
                        target: "a1",
                        value: 1
                    }, {source: "b1", target: "c", value: 2}]
                }
            }, methods: {
                getParent: function () {
                    this.recentDays = this.$parent.$parent.$parent.recentDays, this.dateRange = this.$parent.$parent.$parent.dateRange
                }, init: function () {
                    var t = this;
                    this.getParent(), r.a.getPagePathData(this.recentDays).then(function (e) {
                        t.nodeData = e.nodeData, t.linksData = e.linksData, t.setChartData()
                    }).catch(function (e) {
                        console.log("失败" + e), t.setChartData()
                    })
                }, setChartData: function () {
                    var t = {
                        title: {text: "页面流向图", subtext: this.dateRange},
                        series: {
                            type: "sankey",
                            layout: "none",
                            emphasis: {focus: "adjacency"},
                            data: this.nodeData,
                            links: this.linksData
                        }
                    };
                    u.a.init(document.getElementById("pagePathChart")).setOption(t)
                }
            }
        }, P = Object(i.a)(w, function () {
            this.$createElement;
            this._self._c;
            return this._m(0)
        }, [function () {
            var t = this.$createElement, e = this._self._c || t;
            return e("div", [e("div", {staticStyle: {width: "100%", height: "280px"}, attrs: {id: "pagePathChart"}})])
        }], !1, null, null, null);
        P.options.__file = "pagePath.vue";
        var O = P.exports, j = {
            components: {
                pvLine: p,
                uvLine: f,
                nvTable: m,
                channelPvBar: _,
                channelBounceBar: R,
                visitTotal: l,
                dateRange: n.a,
                pagePath: O
            }, data: function () {
                return {radio1: "访问量", recentDays: 7, dateRange: "近7日"}
            }, methods: {
                refresh: function () {
                    this.$refs.pvLine.init(), this.$refs.uvLine.init(), this.$refs.nvTable.init(), "访问量" == this.radio1 ? this.$refs.channelPvBar.init() : this.$refs.channelBounceBar.init(), this.$refs.pagePath.init(), this.$refs.visitTotal.init()
                }
            }
        }, B = Object(i.a)(j, function () {
            var t = this, e = t.$createElement, a = t._self._c || e;
            return a("div", {staticClass: "app-container"}, [a("dateRange"), t._v(" "), a("visitTotal", {ref: "visitTotal"}), t._v(" "), a("el-row", {
                staticClass: "el-row",
                attrs: {gutter: 24}
            }, [a("el-col", {
                staticClass: "el-card",
                attrs: {span: 12}
            }, [a("div", {staticClass: "grid-content bg-purple"}, [a("pvLine", {ref: "pvLine"})], 1)]), t._v(" "), a("el-col", {
                staticClass: "el-card",
                attrs: {span: 12}
            }, [a("div", {staticClass: "grid-content bg-purple"}, [a("uvLine", {ref: "uvLine"})], 1)])], 1), t._v(" "), a("el-row", {
                staticClass: "el-row",
                attrs: {gutter: 24}
            }, [a("el-col", {
                staticClass: "el-card",
                attrs: {span: 12, align: "center"}
            }, [a("div", {staticClass: "grid-content bg-purple"}, [a("nvTable", {ref: "nvTable"})], 1)]), t._v(" "), a("el-col", {
                staticClass: "el-card",
                attrs: {span: 12}
            }, [a("div", {staticClass: "grid-content bg-purple"}, [a("el-row", {
                staticClass: "el-row",
                attrs: {gutter: 2}
            }, [a("el-radio-group", {
                model: {
                    value: t.radio1, callback: function (e) {
                        t.radio1 = e
                    }, expression: "radio1"
                }
            }, [a("el-radio-button", {attrs: {label: "访问量"}}), t._v(" "), a("el-radio-button", {attrs: {label: "跳出率"}})], 1)], 1), t._v(" "), a("el-row", {
                staticClass: "el-row",
                attrs: {gutter: 20}
            }, ["访问量" == t.radio1 ? a("channelPvBar", {ref: "channelPvBar"}) : t._e(), t._v(" "), "跳出率" == t.radio1 ? a("channelBounceBar", {ref: "channelBounceBar"}) : t._e()], 1)], 1)])], 1), t._v(" "), a("el-row", {
                staticClass: "el-row",
                attrs: {gutter: 24}
            }, [a("el-col", {
                staticClass: "el-card",
                attrs: {span: 24, align: "center"}
            }, [a("div", {staticClass: "grid-content bg-purple"}, [a("pagePath", {ref: "pagePath"})], 1)])], 1)], 1)
        }, [], !1, null, null, null);
        B.options.__file = "visit.vue";
        e.default = B.exports
    }
}]);